home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xvc / XSGIvcQueryGammaMap.z / XSGIvcQueryGammaMap
Text File  |  1998-10-30  |  29KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XSGIvcStoreGammaColors8, XSGIvcStoreGammaColors16,
  10.           XSGIvcQueryGammaColors, XSGIvcQueryScreenGammaMaps,
  11.           XSGIvcQueryGammaMap, XSGIvcSetChannelGammaMap,
  12.           XSGIvcQueryChannelGammaMap - Set and query gamma correction
  13.           resources
  14.  
  15.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  16.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXX11111111////eeeexxxxtttteeeennnnssssiiiioooonnnnssss////XXXXSSSSGGGGIIIIvvvvcccc....hhhh>>>>
  17.  
  18.           SSSSttttaaaattttuuuussss XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyySSSSccccrrrreeeeeeeennnnGGGGaaaammmmmmmmaaaaMMMMaaaappppssss((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  19.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  20.               iiiinnnntttt ****ggggaaaammmmmmmmaaaaMMMMaaaappppssssRRRReeeettttuuuurrrrnnnn))))
  21.  
  22.           SSSSttttaaaattttuuuussss XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  23.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  24.               iiiinnnntttt ggggaaaammmmmmmmaaaaMMMMaaaapppp,,,,
  25.               iiiinnnntttt ****ggggaaaammmmmmmmaaaaSSSSiiiizzzzeeeeRRRReeeettttuuuurrrrnnnn,,,,
  26.               iiiinnnntttt ****ggggaaaammmmmmmmaaaaPPPPrrrreeeecccciiiissssiiiioooonnnnRRRReeeettttuuuurrrrnnnn,,,,
  27.               iiiinnnntttt ****ggggaaaammmmmmmmaaaaMMMMaaaappppAAAAttttttttrrrriiiibbbbuuuutttteeeessss))))
  28.  
  29.           vvvvooooiiiidddd XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  30.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  31.               iiiinnnntttt ggggaaaammmmmmmmaaaaMMMMaaaapppp,,,,
  32.               iiiinnnntttt iiiitttteeeemmmmCCCCoooouuuunnnntttt,,,,
  33.               lllloooonnnngggg llllooooaaaaddddTTTTaaaabbbblllleeeessss
  34.               ccccoooonnnnsssstttt uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr ****ggggaaaammmmmmmmaaaaVVVVaaaalllluuuueeee))))
  35.  
  36.           vvvvooooiiiidddd XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss11116666((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  37.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  38.               iiiinnnntttt ggggaaaammmmmmmmaaaaMMMMaaaapppp,,,,
  39.               iiiinnnntttt iiiitttteeeemmmmCCCCoooouuuunnnntttt,,,,
  40.               lllloooonnnngggg llllooooaaaaddddTTTTaaaabbbblllleeeessss
  41.               ccccoooonnnnsssstttt uuuunnnnssssiiiiggggnnnneeeedddd sssshhhhoooorrrrtttt ****ggggaaaammmmmmmmaaaaVVVVaaaalllluuuueeee))))
  42.  
  43.           SSSSttttaaaattttuuuussss XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  44.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  45.               iiiinnnntttt ggggaaaammmmmmmmaaaaMMMMaaaapppp,,,,
  46.               iiiinnnntttt rrrreeeeqqqquuuueeeesssstttteeeeddddCCCCoooolllloooorrrr,,,,
  47.               iiiinnnntttt ****iiiitttteeeemmmmCCCCoooouuuunnnnttttRRRReeeettttuuuurrrrnnnn,,,,
  48.               uuuunnnnssssiiiiggggnnnneeeedddd sssshhhhoooorrrrtttt ********ggggaaaammmmmmmmaaaaVVVVaaaalllluuuueeeeRRRReeeettttuuuurrrrnnnn))))
  49.  
  50.           vvvvooooiiiidddd XXXXSSSSGGGGIIIIvvvvccccSSSSeeeettttCCCChhhhaaaannnnnnnneeeellllGGGGaaaammmmmmmmaaaaMMMMaaaapppp((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  51.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  52.               iiiinnnntttt cccchhhhaaaannnnnnnneeeellll,,,,
  53.               iiiinnnntttt ggggaaaammmmmmmmaaaaMMMMaaaapppp))))
  54.  
  55.           SSSSttttaaaattttuuuussss XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllGGGGaaaammmmmmmmaaaaMMMMaaaapppp((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  56.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  57.               iiiinnnntttt cccchhhhaaaannnnnnnneeeellll,,,,
  58.               iiiinnnntttt ****ggggaaaammmmmmmmaaaaMMMMaaaappppRRRReeeettttuuuurrrrnnnn))))
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  71.  
  72.  
  73.  
  74.      PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  75.           _g_a_m_m_a_M_a_p_s_R_e_t_u_r_n
  76.                       Returns the number of gamma maps available on
  77.                       the server.  Pass the address of a variable to
  78.                       receive this value.
  79.  
  80.  
  81.           _d_i_s_p_l_a_y     Specifies the connection to the X server.
  82.  
  83.  
  84.           _s_c_r_e_e_n      Specifies the screen of the X server.
  85.  
  86.  
  87.           _c_h_a_n_n_e_l     Specifies the channel number.
  88.  
  89.  
  90.           _g_a_m_m_a_M_a_p    Specifies which of the gamma maps within the
  91.                       server should be affected.  Gamma map IDs are
  92.                       not X resources, but are numbered implicitly,
  93.                       starting with 0.
  94.  
  95.  
  96.           _i_t_e_m_C_o_u_n_t   Specifies the number of elements in the gamma
  97.                       table to be loaded.
  98.  
  99.  
  100.           _i_t_e_m_C_o_u_n_t_R_e_t_u_r_n
  101.                       Specifies a pointer to an integer that is to
  102.                       contain the number of elements in the gamma
  103.                       table.
  104.  
  105.  
  106.           _l_o_a_d_T_a_b_l_e_s  The gamma tables which should be loaded with
  107.                       this command.  To economize traffic, you should
  108.                       load all tables simultaneously if you intend to
  109.                       set each color component to the same values.
  110.                       You may use a bitwise OR of the constants
  111.                       _X_S_G_I_V_C__M_C_o_m_p_o_n_e_n_t_R_e_d, _X_S_G_I_V_C__M_C_o_m_p_o_n_e_n_t_G_r_e_e_n,
  112.                       _X_S_G_I_V_C__M_C_o_m_p_o_n_e_n_t_B_l_u_e, or
  113.                       _X_S_G_I_V_C__M_C_o_m_p_o_n_e_n_t_A_l_p_h_a.
  114.  
  115.  
  116.  
  117.           _g_a_m_m_a_V_a_l_u_e  Specifies a pointer to an array containing gamma
  118.                       elements.  The number of items of each array
  119.                       must be that specified in itemCount.
  120.  
  121.  
  122.           _g_a_m_m_a_R_e_t_u_r_n Specifies a pointer to a location that is to
  123.                       contain a pointer to an array containing the
  124.                       returned gamma map.
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  137.  
  138.  
  139.  
  140.           _g_a_m_m_a_S_i_z_e_R_e_t_u_r_n
  141.                       Specifies a location which is to receive the
  142.                       size of the gamma table (i.e., the number of
  143.                       entries in the gamma table).
  144.  
  145.  
  146.           _g_a_m_m_a_P_r_e_c_i_s_i_o_n_R_e_t_u_r_n
  147.                       Specifies a location which is to receive the
  148.                       precision in bits of the gamma table.  For
  149.                       example, if each entry in the gamma table is 10
  150.                       bits long, the call returns 10.
  151.  
  152.  
  153.           _g_a_m_m_a_M_a_p_A_t_t_r_i_b_u_t_e_s
  154.                       A bitmask describing attributes of the gamma
  155.                       map.  The bitmask may contain one or more of the
  156.                       following attributes:  _X_S_G_I_V_C__G_M_A_l_p_h_a_P_r_e_s_e_n_t, or
  157.                       _X_S_G_I_V_C__G_M_H_a_r_d_w_a_r_e_A_p_p_r_o_x_i_m_a_t_i_o_n.  See the
  158.                       discussion below for a more thorough treatment
  159.                       of attributes
  160.  
  161.  
  162.           _r_e_q_u_e_s_t_e_d_C_o_l_o_r
  163.                       For queries, specifies which color component's
  164.                       information should be returned.  Use the
  165.                       constants _X_S_G_I_V_C__C_O_M_P_O_N_E_N_T__R_E_D,
  166.                       _X_S_G_I_V_C__C_O_M_P_O_N_E_N_T__G_R_E_E_N, _X_S_G_I_V_C__C_O_M_P_O_N_E_N_T__B_L_U_E,
  167.                       or _X_S_G_I_V_C__C_O_M_P_O_N_E_N_T__A_L_P_H_A.  The server may
  168.                       ignore the alpha component if the gamma map does
  169.                       not have an alpha component; see
  170.                       XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp.
  171.  
  172.  
  173.  
  174.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  175.         GGGGaaaammmmmmmmaaaa CCCCoooorrrrrrrreeeeccccttttiiiioooonnnn aaaannnndddd SSSSeeeerrrrvvvveeeerrrr CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn
  176.           Cathode ray tubes (CRTs) have the unfortunate characteristic
  177.           that their display is non-linear:  the intensity of light
  178.           displayed at a pixel is not strictly proportional to the
  179.           voltage supplied to the CRT at that pixel. Gamma correction
  180.           is used to compensate for that non-linearity so the monitor
  181.           does produce the proper intensity.
  182.  
  183.           A server may contain one or more gamma maps, each of which
  184.           may perform an independent correction by serving as a look-
  185.           up table.  A gamma map has two distinguishing features:  the
  186.           number of entries in the table (i.e., each gamma color) and
  187.           the width of each entry.  These correspond to the input and
  188.           output values, respectively, as each pixel is processed
  189.           through the look-up table.
  190.  
  191.           Depending on server configuration, a channel may use one of
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  203.  
  204.  
  205.  
  206.           one or more gamma maps.  Servers may assign a permanent
  207.           gamma map to a channel, restrict channels to use one of a
  208.           subset of all maps, permit a channel to use one of all
  209.           shared maps, or some combination thereof, depending on
  210.           hardware configuration.  If two channels employ the same
  211.           gamma map, changing the colors in that gamma map will affect
  212.           both channels.
  213.  
  214.  
  215.  
  216.         FFFFuuuunnnnccccttttiiiioooonnnnssss
  217.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyySSSSccccrrrreeeeeeeennnnGGGGaaaammmmmmmmaaaaMMMMaaaappppssss returns the number of separate
  218.           gamma maps supported. For each gamma map supported, the
  219.           system returns the number of entries supported.  Each color
  220.           component in a gamma map must support the same number of
  221.           entries, different gamma maps may support different numbers
  222.           of entries. Systems with no writable gamma map should return
  223.           a count of zero (0). XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp returns information
  224.           regarding a specified gamma map's configuration.
  225.  
  226.           The XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888 and XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss11116666
  227.           functions change the gamma map entries for the specified map
  228.           to the specified colors, the former function loading 8-bit
  229.           entries and the latter loading 16-bit entries.  To load a
  230.           gamma color, you pass a single array of values via
  231.           _g_a_m_m_a_V_a_l_u_e and specify into which color components that
  232.           array will be loaded.  The _d_o_R_e_d, _d_o_G_r_e_e_n, _d_o_B_l_u_eand _d_o_A_l_p_h_a
  233.           arguments indicate which components should actually be
  234.           changed.  If you select more than one component, each
  235.           component will be loaded with the same values;  you may
  236.           select any one or a combination of the colors to load.
  237.  
  238.           N.B.: The hardware of some servers may require the server to
  239.           load all components simultaneously in an encoded (packed)
  240.           manner, so choosing a single color component may require the
  241.           server to query the gamma table to encode the component
  242.           before writing it; thus, the most efficient use of this
  243.           function may be to store all color components
  244.           simultaneously.
  245.  
  246.           All tables loaded via a single call must have the same
  247.           number of entries, specified via the parameter _i_t_e_m_C_o_u_n_t.
  248.           Note that the count of the number of entries you load in a
  249.           table must exactly equal the length of the table (returned
  250.           via the parameter _g_a_m_m_a_S_i_z_e_R_e_t_u_r_n in the function
  251.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp).
  252.  
  253.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss(((()))) returns the gamma values for the
  254.           specified gamma map.  The number of items in the requested
  255.           color component is returned in itemCountReturn.  Use XXXXFFFFrrrreeeeeeee(((())))
  256.           to free the memory allocated in _g_a_m_m_a_V_a_l_u_e_R_e_t_u_r_n.
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  269.  
  270.  
  271.  
  272.           XXXXSSSSGGGGIIIIvvvvccccSSSSeeeettttCCCChhhhaaaannnnnnnneeeellllGGGGaaaammmmmmmmaaaaMMMMaaaapppp(((()))) selects the specified channel to
  273.           use the specified gamma map.  On server startup, each
  274.           channel uses the lowest-number gamma map available to it.
  275.  
  276.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllGGGGaaaammmmmmmmaaaaMMMMaaaapppp(((()))) returns the gamma map ID
  277.           associated with the specified channel.
  278.  
  279.           The function XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888 is provided as an
  280.           economy to the function XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss11116666 because it
  281.           minimizes traffic between the client and X server.  You
  282.           should use the operation that best suits your need:  for
  283.           rapid animations, you may prefer the 8-bit function; for
  284.           greater accuracy, the 16-bit function.
  285.  
  286.  
  287.         SSSSeeeerrrrvvvveeeerrrr''''ssss OOOOppppeeeerrrraaaattttiiiioooonnnnssss oooonnnn CCCCoooolllloooorrrrssss DDDDuuuurrrriiiinnnngggg SSSSttttoooorrrreeee
  288.           If you store a gamma map's colors using a function whose
  289.           width is different than the width of the gamma map, the
  290.           server will alter the values when loading the gamma
  291.           hardware.  This alteration occurs for each color value you
  292.           specify.
  293.  
  294.           If you use a function whose width is larger than that of the
  295.           table, the server will truncate, using only the most-
  296.           signficant bits (MSBs) of your values; for example, if you
  297.           use the XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888 function to store values
  298.           into a table that contains only five bits, the server will
  299.           use only the upper five MSBs of your color values,
  300.           discarding the lower three bits.
  301.  
  302.           If you use a function whose width is narrower than the
  303.           table, the server will use your stored values for the most-
  304.           significants bits (MSBs), and store into the unsupplied
  305.           least-signficant bits (LSBs) a copy of the most significant
  306.           bits; for example, if you use the XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888
  307.           function to store values into a table that contains 12 bits,
  308.           the server will store your values into the eight MSBs,
  309.           copying the upper four bits of each of your values into each
  310.           entry's LSBs.
  311.  
  312.  
  313.  
  314.         SSSSeeeerrrrvvvveeeerrrr''''ssss OOOOppppeeeerrrraaaattttiiiioooonnnnssss oooonnnn CCCCoooolllloooorrrrssss DDDDuuuurrrriiiinnnngggg QQQQuuuueeeerrrryyyy
  315.           The XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss function implicitly returns 16-
  316.           bit quantities, irrespective of the precision of the
  317.           underlying hardware.  If the gamma map's precision is less
  318.           than 16 bits, the server will return the significant bits of
  319.           the precision in the uppermost bits of the returned 16-bit
  320.           quantity; the least significant bits of the returned
  321.           quantity will contain replicated copies of the gamma map's
  322.           MSBs.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  335.  
  336.  
  337.  
  338.           This operation is similar and complementary to the actions
  339.           taken during store operations.  For example, if the hardware
  340.           gamma map has 11 significant bits, the 16-bit value returned
  341.           to the client will contain the hardware's value in bits the
  342.           upper 11 bits.  The most significant five bits of the
  343.           hardware's value will be replicated in the lower four bits
  344.           of the returned value.
  345.  
  346.           In general, the significant bits of the returned value may
  347.           be determined via the following C-language statement (given
  348.           _p_r_e_c_i_s_i_o_n as the width of the gamma entry and
  349.           _g_a_m_m_a_V_a_l_u_e_R_e_t_u_r_n as the returned value):
  350.  
  351.             unsigned short sigBits;
  352.             ...
  353.             sigBits = (gammaValueReturn >> (16 - precision));
  354.  
  355.           You can use the function XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss11116666 as a
  356.           complementary store operation; that function expects a value
  357.           with the significant bits similarly shifted into the MSBs.
  358.  
  359.  
  360.         GGGGaaaammmmmmmmaaaa MMMMaaaapppp AAAAttttttttrrrriiiibbbbuuuutttteeeessss
  361.           Some gamma maps may have certain attributes which modify
  362.           their operation.  The attributes of the gamma map may be
  363.           retrieved by calling XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp.  The attributes
  364.           are:
  365.  
  366.           _X_S_G_I_V_C__G_M_A_l_p_h_a_P_r_e_s_e_n_t
  367.                The gamma map has an alpha component in addition to the
  368.                red, green, and blue components.
  369.  
  370.           _X_S_G_I_V_C__G_M_H_a_r_d_w_a_r_e_A_p_p_r_o_x_i_m_a_t_i_o_n
  371.                The server hardware may use private techniques to
  372.                approximate the stated size and precision of the gamma
  373.                map, substituting a less thorough representation.  In
  374.                most cases when you load a gamma-shaped curve, the
  375.                visual result will not be different from that of a
  376.                gamma map which has not undergone hardware
  377.                approximation.  Queries of the value of the colors of
  378.                this gamma map will return the values as previously
  379.                stored, not of the internal approximation.  The
  380.                techniques used to approximate the gamma map are at the
  381.                discretion of the server.
  382.  
  383.           _X_S_G_I_V_C__G_M_W_r_i_t_e_L_o_c_k
  384.                The gamma map cannot be modified programmatically.  The
  385.                server hardware may have a fixed gamma map or the
  386.                server does not implement alteration of this map.
  387.  
  388.           _X_S_G_I_V_C__G_M_R_e_a_d_L_o_c_k
  389.                The gamma map cannot be queried programmatically.  The
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))               XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss((((3333))))
  401.  
  402.  
  403.  
  404.                server hardware may not permit readback or the server
  405.                does not implement readback of this map.
  406.  
  407.  
  408.      EEEEVVVVEEEENNNNTTTTSSSS
  409.           When this control is altered, the server generates a
  410.           GammaMapNotify event.
  411.  
  412.  
  413.      RRRREEEETTTTUUUURRRRNNNNEEEEDDDD VVVVAAAALLLLUUUUEEEE
  414.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss, XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllGGGGaaaammmmmmmmaaaaMMMMaaaapppp,
  415.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaMMMMaaaapppp, and XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyySSSSccccrrrreeeeeeeennnnGGGGaaaammmmmmmmaaaaMMMMaaaappppssss return
  416.           TRUE if successful, FALSE upon failure.
  417.  
  418.           Parameter errors are reported via BadValue or BadMatch.
  419.  
  420.  
  421.  
  422.      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  423.           In the XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss8888(((()))) and
  424.           XXXXSSSSGGGGIIIIvvvvccccSSSSttttoooorrrreeeeGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss11116666(((()))) functions, a Value error is
  425.           generated if a specified pixel is not a valid index into the
  426.           gamma map.  If more than one pixel is in error, it is
  427.           arbitrary as to which pixel is reported.   A Colormap error
  428.           is generated if the map id is not valid.
  429.  
  430.           In the XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyGGGGaaaammmmmmmmaaaaCCCCoooolllloooorrrrssss(((()))) function,  a Colormap error
  431.           is generated if the gamma map id is invalid. A Value error
  432.           is generated if a pixel is invalid.  If more than one pixel
  433.           is in error, it is arbitrary as to which pixel is reported.
  434.  
  435.  
  436.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  437.           XSGIvc
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.